package com.aidex.business.service;

import com.aidex.business.domain.BCategory;
import com.aidex.common.core.domain.TreeNode;
import com.aidex.common.core.service.BaseService;
import com.alibaba.fastjson2.JSONObject;

import java.util.List;
import java.util.Map;

/**
 * 商品类目表Service接口
 * @author 1205560870@qq.com
 * @email 1205560870@qq.com
 * @date 2025-03-10
 */
public interface BCategoryService extends BaseService<BCategory> {

    List<BCategory> listDataByLevel(int level, String id);

    List<BCategory> searchDeptList(BCategory BCategory);

    Object findMaxSort(BCategory BCategory);

    void checkDeptNameUnique(BCategory BCategory);

    List<TreeNode> buildDeptTree(int level, String id);

    List<TreeNode> search(String deptName);

    List<TreeNode> buildDeptTreeExcludeChild(int i, String id, String excludeId);

    Object selectDeptListByRoleId(String roleId);

    List<TreeNode> buildDeptSelectUserTree(int level, String id);

    List<TreeNode> searchDeptUserList(BCategory BCategory);

    List<Map<String, Object>> getDeptInfoByIds(JSONObject deptIdsObj);

    void refreshCache();
}